package com.hu.lock;

/**
 * @author 00355760
 * @功能：
 * @版本： V1
 * @版权： 信息技术有限公司（http://www.mychery.com/）
 * @作者： 磐石战队开发组  00355760
 * @日期： 2024/9/19 15:46
 */
public class Unsafe2 {
    public static void main(String[] args) {
        BuyTicket buyTicket = new BuyTicket();
        new Thread(buyTicket,"苦逼的我").start();
        new Thread(buyTicket,"欧皇的你").start();
        new Thread(buyTicket,"可恶的黄牛党").start();
    }
}

class BuyTicket implements Runnable{
    private int ticketNums=10;
    //票数
    boolean flag = true;
    //外部停止方式
    @Override
    public void run() {
        while (flag){
            try {
                buy();//买票
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
    private synchronized void buy() throws InterruptedException {
        if (ticketNums<=0){
            //判断是否有票
            flag=false;
            return;
        }
        Thread.sleep(100);
        //模拟延迟
        System.out.println(Thread.currentThread().getName()+"买到了第"+ticketNums--+"张票");
    }
}
